관련 동영상: https://youtu.be/Z1Yd7upQsXY
직접 패키지를 만들어 여러 개의 모듈을 관리하는 프로그램을 작성하라.
조건:
mypackage
math_utils.py
- 수학 관련 함수 제공string_utils.py
- 문자열 관련 함수 제공출력 예시:
5의 제곱은 25입니다.
"Hello World!"의 길이는 12입니다.
Python 패키지는 여러 개의 모듈을 관리하는 단위다. 패키지를 만들기 위해 폴더를 생성하고, 그 안에 `__init__.py` 파일과 여러 개의 모듈을 만든다.
디렉토리 구조:
mypackage/
├── __init__.py
├── math_utils.py
├── string_utils.py
└── main.py
math_utils.py (수학 관련 모듈)
# mypackage/math_utils.py
def square(n):
return n * n
string_utils.py (문자열 관련 모듈)
# mypackage/string_utils.py
def str_length(s):
return len(s)
main.py (패키지 실행 파일)
# main.py
from mypackage import math_utils, string_utils
num = 5
print(f"{num}의 제곱은 {math_utils.square(num)}입니다.")
txt = "Hello World!"
print(f'"{txt}"의 길이는 {string_utils.str_length(txt)}입니다.')
다양한 기능을 포함하는 패키지를 직접 제작하고 관리하는 연습을 해보자.
패키지명: myutils
calc.py
- 계산기 함수 제공file_utils.py
- 파일 관리 함수 제공출력 예시:
3 + 7 = 10
파일 리스트: ['test.txt', 'data.csv']
calc.py (계산기 모듈)
# myutils/calc.py
def add(a, b):
return a + b
file_utils.py (파일 관리 모듈)
# myutils/file_utils.py
import os
def list_files(directory="."):
return os.listdir(directory)
main.py (패키지 실행 파일)
# main.py
from myutils import calc, file_utils
print(f"3 + 7 = {calc.add(3, 7)}")
print("파일 리스트:", file_utils.list_files())